/* eslint-disable */

import { AxiosRequestConfig } from 'axios';
import { request } from '../../utils/request';

export interface PostTempSingerPreciseMonitorPageRes {
  code: string; // 返回编码
  msg: string; // 返回消息
  data: {
    current: number;
    pageSize: number;
    total: number;
    list: Array<{
      id: number; // 流水ID
      albumName: string; // 专辑名称
      albumKeyNames: string; // 专辑名关键字
      singerName: string; // 歌手名
      singerId: number; // 歌手ID
      upc: string; // UPC
      validBeginTime: string; // 生效开始时间
      validEndTime: string; // 生效截止时间
      autoImport: number; // 是否自动入库
      createUser: string; // 设置用户
      insertTime: string; // 插入时间
      modifyTime: string; // 更新时间
    }>;
  };
  traceId: string;
}

/**
 * 分页查询
 */
export async function postTempSingerPreciseMonitorPage(
  data?: any,
  config?: AxiosRequestConfig,
): Promise<PostTempSingerPreciseMonitorPageRes> {
  return request(data, {
    url: '/temp/singerPreciseMonitor/page',
    method: 'post',
    ...config,
  });
}

export interface PostTempSingerPreciseMonitorRes {
  code: string; // 返回编码
  msg: string; // 返回消息
  data: boolean; // 返回数据
  traceId: string;
}

/**
 * 入库策略录入
 */
export async function postTempSingerPreciseMonitor(
  data?: any,
  config?: AxiosRequestConfig,
): Promise<PostTempSingerPreciseMonitorRes> {
  return request(data, {
    url: '/temp/singerPreciseMonitor',
    method: 'post',
    ...config,
  });
}

export interface GetTempSingerPreciseMonitorIdRes {
  code: string; // 返回编码
  msg: string; // 返回消息
  data: {
    id: number; // 流水ID
    albumName: string; // 专辑名称
    albumKeyNames: string; // 专辑名关键字
    singerName: string; // 歌手名
    singerId: number; // 歌手ID
    upc: string; // UPC
    validBeginTime: string; // 生效开始时间
    validEndTime: string; // 生效截止时间
    autoImport: number; // 是否自动入库
    createUser: string; // 设置用户
    insertTime: string; // 插入时间
    modifyTime: string; // 更新时间
  };
  traceId: string;
}

/**
 * 获取入库策略详情
 */
export async function getTempSingerPreciseMonitorId(
  id: string | number,
  data?: any,
  config?: AxiosRequestConfig,
): Promise<GetTempSingerPreciseMonitorIdRes> {
  return request(data, {
    url: `/temp/singerPreciseMonitor/${id}`,
    method: 'get',
    ...config,
  });
}

export interface PutTempSingerPreciseMonitorIdRes {
  code: string; // 返回编码
  msg: string; // 返回消息
  data: boolean; // 返回数据
  traceId: string;
}

/**
 * 入库策略更新
 */
export async function putTempSingerPreciseMonitorId(
  id: string | number,
  data?: any,
  config?: AxiosRequestConfig,
): Promise<PutTempSingerPreciseMonitorIdRes> {
  return request(data, {
    url: `/temp/singerPreciseMonitor/${id}`,
    method: 'put',
    ...config,
  });
}
